package com.zg.mock.domain.dto;

import io.swagger.annotations.ApiModel;

import javax.validation.constraints.NotBlank;
import java.util.Date;
import java.util.List;
/**
 * <p>Description: </p>
 *
 * @author zhanfeng.liang
 * @since 2025/5/19 9:47
 */
@lombok.Data
@ApiModel("发票请求参数")
public class InvoiceDTO {

    @NotBlank(message = "回调地址不能为空")
    @NotBlank(message = "回调地址不能为空")
/** 回调地址 */
    private String bizCallbackUrl;

    /** 买方账号 */
    private String buyerAccount;

    /** 买方地址 */
    private String buyerAddress;

    /** 买方开户行 */
    private String buyerBank;

    /** 买方名称 */
    private String buyerName;

    /** 买方电话 */
    private String buyerPhone;

    /** 买方税号 */
    private String buyerTaxnum;

    /** 是否蓝票 */
    private Integer checkBlue;

    /** 复核人 */
    private String checker;

    /** 开票人 */
    private String clerker;

    /** 第一列 */
    private String columnFirst;

    /** 发票明细 */
    private List<DetailDTO> detail;

    /** 发票行 */
    private String invoiceLine;

    /** 发票类型 */
    private Integer invoiceType;

    /** 清单标志 */
    private Integer listFlag;

    /** 通知类型 */
    private Integer notifyType;

    /** 订单号 */
    private String orderNo;

    /** 纸质发票类型 */
    private String paperInvoiceType;

    /** 收款人 */
    private String payee;

    /** 备注 */
    private String remark;

    /** 请求来源 */
    private Integer requestSrc;

    /** 卖方账号 */
    private String sellerAccount;

    /** 卖方地址 */
    private String sellerAddress;

    /** 卖方开户行 */
    private String sellerBank;

    /** 卖方名称 */
    private String sellerName;

    /** 卖方电话 */
    private String sellerPhone;

    /** 卖方税号 */
    private String sellerTaxnum;

    /** 特殊因素 */
    private String specificFactor;

    /** 代开标志 */
    private Integer substituteFlag;

    /** 用户ID */
    private Integer userId;

    /**
     * 来源系统  jiesuan
     */
    @NotBlank(message = "来源系统不能为空")
    private String sourceSystem;
    /**
     * 开票系统  1-诺诺 2-乐企
     */
    @NotBlank(message = "开票系统不能为空")
    private String invoiceSystem;
}
